¿Puede alguien explicar qué está mal con el código pegado? Muestra una alerta al pasar el mouse por encima, pero no realiza un evento de clic como esperaba, y el clic no funciona ni en la etiqueta <a> ni en la etiqueta <select> . Mi propósito es expandir el elemento de select al pasar el mouse activando el evento de clic
<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script> </head> <body> <a id="linkElement" href="www.google.co.uk">click</a> <select name="cars" id="selectElemet"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="fiat">Fiat</option> <option value="audi">Audi</option> </select> <script> $(document).ready(function () { $("#selectElement").mouseover(function () { $("#selectElement").trigger("click"); }); $("#linkElement").mouseover(function () { alert('here'); $("#linkElement").trigger("click"); }); }); </script> </body> </html>.trigger("click") en realidad no hará clic en el elemento, solo activará el controlador de clic adjunto con el elemento. Como no ha adjuntado ninguno, no se activa ninguno.
Puedes usar .click() nativo
$("#selectElement").get(0).click(); //get(0) returns reference to DOM elementHay un error de ortografía en su atributo ID. Reemplace 'selectElemet' por 'selectElement'. Espero que ayude.
desencadenar ('clic') simplemente sucede donde ha configurado el evento 'clic' con el elemento, no el 'clic' físico.